It takes more than great code
to be a great engineer.

Soft Skills Engineering is a weekly advice podcast for software developers.

The show's hosts are experienced developers who answer your questions about topics like:

  • pay raises
  • hiring and firing developers
  • technical leadership
  • learning new technologies
  • quitting your job
  • getting promoted
  • code review etiquette
  • and much more...

Soft Skills Engineering is made possible through generous donations from listeners. A heart with a striped shadowSupport us on Patreon

A speech bubble

Why should you listen?

Here's what listeners say:

Recent Episodes

Latest Episode

Episode 513: Forgotten employee and what skills actually matter in the AI world

Download

In this episode, Dave and Jamison answer these questions:

  1. How long until I am ethically obligated to let my company know I’m doing no work? There was a big re-org at the company I recently joined. It’s a huge financial company, so there’s a lot of bureaucracy. Somehow in this mess I was kicked off the first team I joined so that I was pending re-assignment. It’s been a month and I haven’t been re-assigned. Instead of being in between jobs not working, I am currently in between teams, but still getting paid! This feels unintentional on the part of the company as no one has followed up with me. I’ve been happily using the time to catch up on hobbies, but I’m starting to get concerned about what will happen when the other shoe drops. At what point do I start to venture into irreversible reputational harm? For some added context, teams at this company are about 6 people and the manager handles several teams, so I’ve never talked to my manager since I joined. I got the message about the re-org from a screenshot of an email that my scrum master shared in my last stand-up.

  2. AI changes how software is build. Actual coding is mostly done by LLMs now (I hate it, but it is what it is). What do you think should I focus on learning now to not become obsolete in 1-2 years? I am a senior dev with 13yoe, and loved coding, but now I find it hard what my role will be in the next years (still have 30+ before retirement). I do not want to go to the EM track, at least not in the near future. So is it more architecture knowledge, security, AI internals, …? What do you think?

A smiling speech bubble

Episode 512: Can non-engineers really contribute code with AI and not sharing

Download

In this episode, Dave and Jamison answer these questions:

  1. Should I declare my struggle with this AI world we live in here? Nah. I mean, I’d like the hype to die down, a lot, but we keep getting new tools and I get to experiment, so here we are.

    My real struggle, and this podcast is implicated in it, is around non-technical people contributing to production systems. Why are we so obsessed with this idea?

    COBOL tried it. Low-code and no-code tried it. BDD and Gherkin aspire to it. Yet time and again the field demonstrates that you need people who know their stuff.

    To “democratize” software engineering implies that all people have the desire and ability to become software engineers. That premise is false. You democratize access to education or financial systems, the stock market say. You don’t democratize skill. Skills are earned. We would never, I hope, democratize bridge engineering or piloting an aircraft. Software engineers are just as critical as either. When our software breaks, money goes missing, electrical grids fail, information stops flowing.

    What I do think is great: now more than ever, as long as tokens stay cheap, people have more ability to build useful tools for themselves. But here is how I think about it. We have done tremendous work on literacy, and most people can read, but not everyone is an author. The same applies to code.

  2. anon e mouse asks,

    Should I share my tools?

    I keep building small local software tools to better test and debug the application I’m working on. The problem is that whenever I go “above and beyond” the assigned and expected work and try and responsible check it into version control and share it with the rest of the team, it gets bogged down in code reviews because it doesn’t meet the team lead’s vision because it wasn’t part of the vision! Once I go through that process though, it’s mostly appreciated, but the team lead is under a lot of business pressure and often mentions that we need to focus.

    Maybe I’m not focused enough, but many of these little tools are things that making verification and delivery much smoother! Like local testing utilities to verify and sample api endpoints that otherwise could only be called after prod deployments due to a lack of test data. Our partners like when we’re able to show the output before deployment, and the rest of the team usually struggles with that.

    I feel a pressure to hide my tools, but then I feel sloppy for having a bunch of useful tools outside of version control. These are things like formatting output, running experiments, testing data for variations. Am I unfocused or just bad at articulating the value of these tools?

A smiling speech bubble

Episode 511: Should I take a temporary management position and performance-based bonuses

Download

In this episode, Dave and Jamison answer these questions:

  1. I’m approaching 15 years of experience with the last 7 years at fang. About a year ago I was promoted to staff engineer (thanks to the podcast) and switched to an adjacent team under the same director. I have never actively pursued a management role but I’ve been starting to think about it more.

    A colleague of mine just announced they need to take extended medical leave (1-2 months) and I was asked to fill in as a temporary manager while they are out. How do I go about managing a team if everyone knows it’s short lived? Should I just try to keep the team alive or aim higher? Is 1-2 months enough for me to get a sense of whether I’d enjoy management? I feel like I’ve dived into the deep end and it’s scary but also exciting.

    I love the podcast, I’ve listened to every episode! I’ll take whatever comedy or advice you have to offer.

  2. Bobby Drop Tables asks,

    Recently came out of a salary negotiation where HR blocked a payrise because they said I was already the highest paid non-management position dev. While I’m getting paid well for the market, I wouldn’t say it’s a ridiculous amount. HR said they wanted a fairly flat salary range across the organisation, with pay differences being dealt with via performance bonuses.

    On paper this sounds good for most departments (sales, engineering etc), but I’m really struggling to figure out what metrics management could use to assess the software team. It feels like any metric that could be dreamt up could/would be gamed and would likely have negative consequences.

    Have you ever come across any decent metrics or methods for assessing software performance when it comes to performance bonuses? Especially when the team lead might not have a say in who gets what or how much?